﻿using System.Collections.Generic;
using System.ComponentModel;

using Eflong.SocketClient;

namespace KWBridge
{
    [Browsable( true ) , TypeConverter( typeof( ExpandableObjectConverter ) )]
    public interface IKWBridge
    {
        /// <summary>
        /// 更新测点定义
        /// </summary>
        void UpdateDefinitions( );

        /// <summary>
        /// 更新实时数据
        /// </summary>
        void UpdateDatas( );

        /// <summary>
        /// 处理错误信息
        /// </summary>
        /// <param name="e"></param>
        void DealErrorMessage( MessageEventArgs e );

        /// <summary>
        /// 处理信息显示
        /// </summary>
        /// <param name="e"></param>
        void DealMessageShow( MessageEventArgs e );

        /// <summary>
        /// 关闭报警窗口时，处理相关的信息传递
        /// </summary>
        /// <param name="currAlarms"></param>
        /// <param name="hisAlarms"></param>
        /// <param name="dic"></param>
        void onAlarmWindowClosed( string[ ] currAlarms , string[ ] hisAlarms , Dictionary<string , string> dic );

        //string CoalMineName { get; set; }
        //string ServerIp { get; set; }
        //UInt32 CoalMineId { get; set; }
        //int Interval { get; set; }
        //int BreakInterval { get; set; }

        ///// <summary>
        /////  单系统
        ///// </summary>
        //bool IsSingleSystem { get; set; }

        //string KJType { get; set; }
        //string Path { get; set; }
        //string DevFileName { get; set; }
        //string RtDataName { get; set; }
        //string Postfix { get; set; }

        //string KJType2 { get; set; }
        //string Path2 { get; set; }
        //string DevFileName2 { get; set; }
        //string RtDataName2 { get; set; }
        //string Postfix2 { get; set; }

        //string[] DigitalTypes { get;  }

        //Dictionary<string, DigitalState> dic_DigitalState { get; }

        //Dictionary<string, DigitalState> dic_DigitalState2 { get; }
    }
}